﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Options.IBClient.Component.Enums;

namespace Options.IBClient.Component
{
    [Serializable()]
    public class RequestIBClient
    {
        #region Private Variables
        private int requestId;
        private DateTime dateAdded;
        private int securityId;
        private SecurityType securityType;
        private DateTime expiry;
        private decimal strikePrice;
        private RightType rightType;
        private int queueId;
        private bool isWeeklyOption;
        
        #endregion

        #region Constructor
        public RequestIBClient()
        {
           
            dateAdded = DateTime.Now;
            securityId = 0;
            securityType = SecurityType.Undefined;
            expiry = DateTime.Now;
            strikePrice = 0;
            rightType = RightType.Undefined;
            queueId = 1;
            isWeeklyOption = false;
        }
        #endregion

        #region Properties
        public int RequestId
        {
            get { return requestId; }
            set { requestId = value; }
        }

        public DateTime DateAdded
        {
            get { return dateAdded; }
            set { dateAdded = value; }
        }

        public int SecurityId
        {
            get { return securityId; }
            set { securityId = value; }
        }

        public SecurityType SecurityType
        {
            get { return securityType; }
            set { securityType = value; }
        }

        public DateTime Expiry
        {
            get { return expiry; }
            set { expiry = value; }
        }

        public decimal StrikePrice
        {
            get { return strikePrice; }
            set { strikePrice = value; }
        }

        public RightType RightType
        {
            get { return rightType; }
            set { rightType = value; }
        }

        public int QueueId
        {
            get { return queueId; }
            set { queueId = value; }
        }

        public bool IsWeeklyOption
        {
            get { return isWeeklyOption; }
            set { isWeeklyOption = value; }
        }
        #endregion
    }
}
